常微分方程算法之梯形法(隐式Eluer法) |
您所在的位置:网站首页 › 用经典r k法求初值问题 › 常微分方程算法之梯形法(隐式Eluer法) |
目录 一、研究对象 二、梯形法原理 三、算例 一、研究对象主要研究对象:一阶常微分方程的初值问题,与欧拉法相同。 通过数值解法来近似获得其数值解,并利用计算机编程实现计算过程。 二、梯形法原理对公式(1)两端从到积分,可得: 对于欧拉法而言,是采用左矩形公式进行逼近,即: 其中,用作为的近似值,得到的便是欧拉法的差分格式:。 如果采用右矩形公式进行逼近,可得类似的差分格式:。 采用梯形公式计算(2)右端积分,可得: 用作为的近似值,可得梯形法的差分格式: 梯形法属于隐式格式,需要通过迭代的方式来求解,迭代初值由欧拉法给出。于是: 三、算例求初值问题 步长h=0.02,迭代误差限制为。已知精确解为: 代码如下: #include #include #include int main(int argc, char* argv[]) { int i,N,k; double a,b,h,y0,err,ytemp1,ytemp2,epsilon; double *x,*y; double f(double x, double y); double yexact(double x); a=0.0; b=0.1; N=5; h=(b-a)/N; x=(double*)malloc(sizeof(double)*(N+1)); y=(double*)malloc(sizeof(double)*(N+1)); for(i=0;i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |